Sistema de Nombrado en Java (JNDI) [Parte I]

Federaci�n es el proceso de "enganchar" sistemas de nombres para que el sistema agregado pueda procesar nombres mixtos. Un significado b�sico por el que federamos sistemas para unir la referencia de un sistema de nombrado a un contexto en otro sistema de nombrado. La lecci�n Almacenar Objetos en Directorios contiene descripciones de la clase Reference y c�mo almacenar estas referencias desde el directorio.

El contenido de una referencia usado para federaci�n no est� restringido, pero un tipo �til de referencia es uno que contiene un string URL. Podemos crear una Reference desde un string URL creando un StringRefAddr cuyo tipo sea "URL" y cuyo contenido es el string URL.

Aqu� tenemos un ejemplo de una referencia a un contexto del sistema de ficheros.

// Create the file system reference
Reference fsRef = new Reference("javax.naming.Context", 
    new StringRefAddr("URL", "file:/tmp"));

Podemos unir esta referencia a otros sistema de nombrado, como el LDAP.

ldapCtx.bind("cn=fs", fsRef);

El LDAP y el sistema de fichero ahora est�n federados.

Ahora, suministramos el nombre al proveedor de servicios LDAP que expande ambos sistemas de nombres, el LDAP y el sistema de ficheros.

Object obj = ldapCtx.lookup("cn=fs/tutorial/report.txt");

Aunque el nombre "cn=fs" que est� en el sistema de nombres LDAP, est� nombrando un objeto en el sistema de ficheros, el objeto (contexto) llamado por la URL "file:/tmp".

Cuando el proveedor de servicios LDAP procesa la entrada "cn=fs", le pide al JNDI que devuelva el contexto identificado por esa entrada para que pueda continuar con la operaci�n. El proveedor de servicio hace esto usando NamingManager.getContinuationContext() y DirectoryManager.getContinuationDirContext(), que se explican en la secci�n Construir un Proveedor de Servicio. El JNDI, cuando ofrece una referencia que contiene una "URL" StringRefAddr y no contiene un nombre de factor�a de clases, devolver� el string URL en la referencia dentro de un contexto usando el mismo algoritmo usado para localizar una implementaci�n de contexto URL, como es explic� en la secci�n URLs como Nombres del Contexto Inicial de esta lecci�n. En el ejemplo anterior, el JNDI usa la implementaci�n de contexto file para procesar la URL "file:/tmp". Luego usa el contexto resultante para procesar el resto del nombre: "tutorial/report.txt".

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
SIGUIENTE ARTÍCULO